package com.niiwoo.activity.stage.service.invite;

import java.util.List;
import java.util.Map;

import com.niiwoo.activity.stage.dto.request.invite.*;
import com.niiwoo.activity.stage.dto.response.content.LittleBoyMsgExcelImportResultRespDTO;
import com.niiwoo.activity.stage.dto.response.invite.InviteUserConfigImportRespDTO;
import com.niiwoo.activity.stage.dto.response.invite.InviteUserConfigImportResultRespDTO;
import com.niiwoo.activity.stage.dto.response.invite.InviteUserConfigRespDTO;
import com.niiwoo.activity.stage.dto.response.invite.RewardConfigRespDTO;
import com.niiwoo.tripod.provider.dto.response.PageResponseDTO;

public interface InviteFriendConfigDubboService {

	/**
	 * 配置奖励修改
	 * @param reqDto
	 */
	void updateRewardConfig(RewardConfigReqDTO reqDto);

	/**
	 * 配置奖励详情
	 * @param configType
	 * @return
	 */
	RewardConfigRespDTO getRewardConfigInfo(Integer configType);

	/**
	 * 分页查询配置用户名单
	 * @param reqDto
	 * @return
	 */
	PageResponseDTO<InviteUserConfigRespDTO> getUserConfig(InviteUserConfigReqDTO reqDto);

	/**
	 * 删除配置用户
	 * @param reqDto
	 */
	int delUserConfig(InviteDelUserConfigReqDTO reqDto);

	/**
	 * 配置用户新增
	 * @param reqDto
	 */
	void addUserConfig(InviteAddUserConfigReqDTO reqDto);

	/**
	 * 判断用户是否大V中介
	 * @param userId
	 */
	boolean isVipIntermediary(String userId);

	/**
	 * 配置用户导入
	 * @param reqDTOList
	 * @return
	 */
	InviteUserConfigImportResultRespDTO importExcel(List<InviteUserConfigImportRespDTO> reqDTOList,Integer type,Long managerId,String managerName);

	/**
	 * 导出配置用户查询
	 * @param dto
	 * @return
	 */
	List<Map<String, Object>> getExportExcelList(InviteAddUserConfigReqDTO dto);

	List<String> getDecryptMobiles(List<String>mobile);

}
